The present invention relates to a system for enabling decoding of bar codes and other symbols with a digital microcomputer which communicates with the device which scans the symbol (referred to herein as a scanner) over the communications port of the computer which is referred to sometimes as the COMPORT. The invention relates more particularly to a system for receiving interrupts from a scanner to enable signals representing the symbol to be used in the computer for decoding the data into corresponding characters and for other purposes, such as reformatting for transmission and display of the characters, of characteristics of the symbol, and of its graphical representation.
The invention is especially suitable for use with bar code scanners of the type called laser scanners or just xe2x80x9claserxe2x80x9d, wherein a laser beam is scanned across the code and light returned from the code during scanning is translated into data representing electrical signals in the form of pulses of varying widths corresponding to the bars of the code. The term xe2x80x9cbarsxe2x80x9d as used herein includes relatively opaque or black bars and relatively reflective or white bars. The invention may be used with scanners of the wand type which are moved across the bar code while in contact or in close proximity therewith, either manually or by devices which move the wand or the item having the code thereon. The invention may also find application with other types of scanners such as solid state or CCD (charge coupled photoelectric device) scanners. Magnetic strip scanners may also be connected to the COMPORT and, like the laser, wand or other optical scanners, use the computer as a platform for decoding or other data processing. The invention may be practiced with various microcomputers which have COMPORTs. The computers may utilize different micro processor chips, such as the 386 or 486 chips. The computers may be desktop computers, workstation computers or laptop computers.
The invention makes use of the serial communications facilities of the computer, in particular the facility which is available at a multipin connector which is known as the COMPORT. This port may operate in accordance with the RS-232 protocol and is sometimes called the RS-232 communications port. The port is known by other names. IBM calls it the asynchronous communications adapter. The COMPORT uses special addressing space in the computer which is reserved for input/output (I/O) ports. By reading or writing to the assigned I/O port address (often called xe2x80x9cport addressesxe2x80x9d), the computer can control the COMPORT, read its status and read and write data bytes to and from the COMPORT hardware. This hardware is usually a UART (Universal Asynchronous Receiver/Transmitter). The UART contains the registers for the commands and data. A computer may have several COMPORTS for mouse devices or even computer game controls, such as a joystick device. The COMPORT has a way to indicate to the computer that it needs attention using a signal which xe2x80x9cinterruptsxe2x80x9d the computer from whatever it may have been doing to tell it that the COMPORT has information the computer should process. The xe2x80x9cinterruptxe2x80x9d enables the computer to process data which is actually present so that it can perform other data processing tasks.
The system provided by the present invention is operative to generate the appropriate interrupts so that the computer can process data from the scanner. The computer then may be used as a platform for translating the data into a form for decoding or for other purposes. The computer is responsive to interrupts for receiving commands from the scanner and for generating commands to the scanner. In the case of a laser scanner, commands from the scanner which require attention are trigger actuations. These result in commands to commence scanning by enabling the scanner motor to operate and the laser to produce the laser beam. Other commands which are transmitted may be the good read command, which is either a visual or audible signal that a symbol (a bar code) has been properly decoded.
The invention thus combines a scanner with a computer so that the computer operates as a platform for controlling the scanner and processing data which represents symbols being scanned, which data is received from the scanner. The invention also permits the communications port of the computer to be used, and particularly the lines which carry signals for communications in accordance with the RS-232 protocol, which is a serial communications protocol in wide use. The invention permits the DTR (data terminal ready) line to be used to handle a laser enable command to the scanner. The CTS or clear to send line may be used for data representing the symbol (pulses of different width for the white or black bars in the case of a bar code). The RTS line may be used to send a command that the code has been properly decoded (for illuminating the good read LED or acoustic symbol). The carrier detect line may be used to carry the trigger commands from the scanner to the computer. Power may be carried from the scanner to the computer over one of the lines so that the scanner may be powered with operating voltage from the computer.
Another feature of the invention is that it provides facilities using the communications port for a security device which will prevent transfer of data into or out of the computer by unauthorized personnel who do not have a proper security device.
The invention, therefore, stated briefly, provides a system for processing data from a scanner representing symbols which are read by the scanner for decoding the information contained in the data. The system uses a digital microcomputer having a communications port for receiving the data via a communications link between the scanner and the port. The computer provides means, due to its programming, which is responsive to communications over the link indicating that the scanner is in communicating relationship with the computer over the link and that the computer is ready to decode the data. The computer is also programmed to provide means for transmitting and receiving commands necessary for controlling the scanner and also for translating the data into a format for decoding.